package com.zhentao.service.impl;

import com.alibaba.fastjson.JSON;
import com.zhentao.api.schedule.ScheduleClientApi;
import com.zhentao.model.common.dtos.ResponseResult;
import com.zhentao.model.schedule.dtos.Task;
import com.zhentao.model.wemedia.pojo.WmNews;
import com.zhentao.service.WmNewsAutoScanService;
import com.zhentao.service.WmNewsTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.util.Date;

@Service
public class WmNewsTaskServiceImpl implements WmNewsTaskService {

    @Autowired
    private ScheduleClientApi scheduleClientApi;
    @Autowired
    private WmNewsAutoScanService wmNewsAutoScanService;


    //怎么调用   调用一次取出一个数据，并把list里面得数据给删除
    //第二次调用   第三次调用  。。。
    //每调用一次取出一次数据 进行自动审核   --定时任务 1s一次

    @Override
    public void addNewsToTask(WmNews wmNews) {

    }

    @Scheduled(fixedRate = 1000)
    @Override
    public void scanNewsByTask() {

        System.out.println("获取list里面得数据进行消费" + new Date().toLocaleString());
        ResponseResult responseResult = scheduleClientApi.poll(1);
        if (responseResult != null && responseResult.getCode() == 200) {
            //从list里面把数据取出来
            Task taskDto = (Task) responseResult.getData();
            //进行消费  -执行自动审核的操作
            //taskDto里面有个参数  把对象整个做个参数传递进来的

            WmNews wmNews = JSON.parseObject(taskDto.getParameters(), WmNews.class);
            //调用自动审核的方法
            //news_Id
            System.out.println("进行审核=======" + wmNews.getId() + "" + new java.util.Date().toString());
            wmNewsAutoScanService.autoScanWnMews(wmNews.getId());
        }
    }
}